package com.ncui.wisdomLearn.biz.user.service;

import com.ncui.wisdomLearn.api.dto.LoginDTO;
import com.ncui.wisdomLearn.api.vo.LoginVO;
import com.ncui.wisdomLearn.common.common.R;

/**
 * 登录服务接口
 *
 * @author lvlele
 * @since 2025-01-07 15:12:13
 */
public interface LoginService {

    /**
     * 用户登录
     *
     * @param loginDTO 登录信息
     * @return 登录结果，包含token和用户信息
     */
    R<LoginVO> login(LoginDTO loginDTO);

    /**
     * 用户注册
     *
     * @param loginDTO 注册信息
     * @return 注册结果
     */
    R<Void> register(LoginDTO loginDTO);

    /**
     * 用户退出
     *
     * @return 退出结果
     */
    R<Void> logout();

    /**
     * 查询登录状态
     *
     * @return 当前登录用户信息
     */
    R<Boolean> getLoginStatus();

    /**
     * 查询Token信息
     *
     * @return token包含的用户信息
     */
    R<LoginVO> getTokenInfo();
}

